Electronic text reading environment enhancement method and apparatus

ABSTRACT

An apparatus, method and article of manufacture of the present invention provide an enhanced user interface for a computer system that maximizes a reader&#39;s ability to rapidly comprehend a text. The invention provides a dynamically presented outline of the text, such that the reader maintains a sense of location within the entire text. Additional information about the text and results of operations on the text are presented on the corresponding portions of the outline.

RELATED APPLICATIONS

This application is a continuation application of application Ser. No.09/628,727, which was a continuation application of application Ser. No.09/015,660 (now U.S. Pat. No. 6,154,757), which was based on ProvisionalApplication No. 60/036,305 filed Jan. 29, 1997, to which priority under35 U.S.C. §119(e) is claimed. The specifications of Ser. Nos. 09/015,660and 60/036,305 are incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates generally to the field of information processingand display by computers and human-machine interfaces for computersystems, and more particularly to a computer-implemented method foroptimizing a user's reading environment based on the user's personalreading style and requirements. Thus, the computer program of thisinvention provides increased functionality to display of electronictext, thereby enhancing the reader's speed, comprehension, and sense oflocation within the text. The invention also provides simplified accessto secondary reference sources in a manner that minimizes interferencewith reading the primary text, and permits the user to interactivelycreate a separate concordance document based on information from theprimary text and secondary reference sources. In addition, the inventionenhances a reader's ability to read interactively for example byproviding improved means for annotating a text and for moving aroundwithin a text. Finally, the invention can be used to check comprehensionby means of computer-generated quizzes.

BACKGROUND OF THE INVENTION

Despite the advent of the electronic age, the preferred method ofreading today is by far to read a text printed on paper, or hard copy,even though electronic versions of the same text are available at lowercost. Indeed, rather than moving to a paperless society as onceenvisioned, the electronic age has resulted in the use—and waste—of evenmore paper than before, as word processors and laser printers generatemore and more drafts of the same document, and printing information ofall kinds from the Internet can be accomplished with a singlemouseclick.

The reasons that people prefer to read text in hard copy are varied.Many readers, accustomed to reading the printed page, are uncomfortablewith computers. Others believe that computers will never replace theability to flip through the pages of a book, at a pace selected by thereader. Although one can simulate the process of flipping through a bookelectronically, screen display limitations and the need for a manualinterface with a computer usually make simulated flipping much lesssatisfactory than actually having the book in hand.

Reading a paper text, however, suffers from numerous limitations anddisadvantages. First, the proliferation of paper texts where electronictexts are available has resulted in a serious waste of paper, andconstitutes a threat to the environment in terms of loss of trees, aswell as loss of resources and pollution attendant the disposal or evenrecycling of paper.

Second, there is no ability to search a paper text for key words orphrases without looking at every single page—a laborious process thatone can never be sure was accomplished successfully. Searching usingindex entries in paper text can be tedious and frustrating. The readeroften loses continuity in reading by having to flip back and forthbetween the text and the index when moving from one page cited by theindex reference to the next such page.

Third, paper can get lost, whereas electronic text can be stored on anyof a number of electronic media (with inexpensive backup copiesdepending on the importance of the document).

Fourth, proliferation of many documents can constitute a threat toconfidentiality where confidentiality is important. Access to sensitiveelectronic texts can be limited only to those with a genuine need.

Fifth, the manual task of reading—including page turning, and holdingthe text the optimum distance from one's eyes, can often interfere withthe smoothness of the reading experience.

Sixth, in a long document read sequentially, there is often a tendencyin the reader to lose focus and concentration, and as a result toexperience wide fluctuations in reading speed and comprehension. Whilemany readers have heard that “active” reading facilitates comprehension,it is very easy to lapse into periods of inactive or passive reading atgreat cost in terms of comprehension and speed.

Seventh, often when a reader runs across unfamiliar words or concepts,the reader finds herself turning to secondary sources in order to decodethe author's meaning, at considerable loss of time and concentration.Although recent art, such as U.S. Pat. No. 5,359,514 to Manthuruthil,ameliorates this to some extent by providing known synonyms to replacewords that exceed a user's reading level, such programs can become acrutch which prevents the user from improving her reading level andactually learning new material.

Eighth, where it is necessary or desirable to take notes, the optionsavailable to a hardcopy reader are unsatisfactory. Such as readertypically has the option of writing annotations in margins that may notbe big enough to accommodate the annotation, or to take notes on aseparate piece of paper that may not be available when the readerrequires it.

Ninth, individuals suffering reading or vision disabilities often findit difficult or impossible to read paper texts where the print is toosmall, or too faint, or where letters are too closely spaced.

While most computer displays have means of searching for key terms orphrases—an invaluable enhancement when reading for researchpurposes—this enhancement is of little benefit to a reader wishing toread a book, such as a novel, sequentially. In addition, in a large textit is difficult for the reader to discern the context or location withinthe text of the results of such a search. There is thus a need for amore flexible approach to displaying electronic text that overcomes thedisadvantages of paper text as well as the disadvantages of electronictext as it exists today.

Furthermore, the continuing popularity of books and courses on speedreading attests to the fact that many people wish to enhance theirreading speed in terms of ability to comprehend more material in ashorter period of time.

The present invention derives from the observation that each individualreader has a unique way of approaching a written text. Each written textin turn provides particular challenges to the reader that depend on thereader's approach. Approaches that readers bring to a text include, butare not limited to, the number of words or characters seen in a giveneye fixation, eye movements, use of hands to assist eye movements,propensity for eye fatigue, schema (the preexisting knowledge that thereader brings to the text), level of literacy, level of familiarity withthe language or organization of the text, ability to visualize whilereading, interest in the material, deadline (external or internal) forcompleting the reading, purpose of reading (research to answerparticular question, pleasure, or general desire to increase store ofknowledge), use of music or other background sound (such as a metronomeor an occasional beep) to enhance reading pleasure or speed, types ofmusic or background sound preferred for enhancing pleasure or speed ofreading a particular text, vision difficulties, and readingdisabilities.

OBJECTS AND SUMMARY OF INVENTION

The present invention permits the use of a computer system to display anelectronic text, including linked computer-readable elements (e.g.,additional text, graphics, audio, motion pictures), in terms ofparameters chosen by the user. One object of the present invention is topermit a user of a computer system equipped with an appropriate displaydevice to read a text that is displayed in accordance with that reader'sparticular reading preferences.

Another object of the present invention is to permit the reader tointeractively determine his or her preferred means of reading aparticular electronic text, or genre of texts.

Another object of the present invention is to provide a means fordisplaying an electronic text in accordance with the particular needs orpreferences of the user.

Another object of the present invention is to permit a reader of anelectronic text to maximize the speed and comprehension with which hereads the material.

Another object of the present invention is to provide the ability todisplay text from multiple different sources in accordance with thereader's preferences. These include, but are not limited to, textsobtained by scanning a paper text into an electronic text, textsobtained by downloading from the Internet, texts on CD-ROM or othercomputer storage devices, and texts in other computer programs whichinclude display of text as a part of their functionality.

Another object of the present invention is to provide links to othermaterial, such as dictionaries (including foreign language dictionariesfor foreign texts), glossaries, encyclopedias, treatises in the field,or annotations. These links can be used to create a concordance tosupplement a reader's schema (or preexisting knowledge) either prior toreading a text, while reading a text, or after reading a text. Suchlinks may be defined by the author of the text, a reader of the text, orthe computer program itself based on characteristics inherent to thetext.

Another object of the invention is to facilitate use of an author'sindex by allowing immediate skipping from one indexed page to the next.

Another object of the present invention is to save paper that wouldotherwise be needlessly wasted in the printing of text that could beread as electronic text.

Another object of the present invention is to provide a training toolfor enabling a reader to maximize his reading speed.

Another object of the present invention is to provide a tool forovercoming or mitigating reading disabilities such as dyslexia, poorvision, and physical disabilities such as an inability to turn pages.

Another object of the present invention is to provide a reader theability to have certain words stand out from less important words. Atthe user's option, this distinction can be based on parts of speech,such as the nouns or verbs that constitute the backbone of a text.Alternatively, specific words can be emphasized based on their locationwithin the text or location on the computer display.

Another object of the present invention is to permit a user to “preread”an electronic text, either by reading only headings, certain sentences,or certain parts of speech, such as nouns and verbs, or any combinationof the above.

Another object of the present invention is to provide the ability for areader to preview a text by viewing topic headings accompanied bysupplemental information such as index entries and text as specified bythe user.

Another object of the present invention is to facilitate reading orskimming of textual material gathered by an “agent” program from theInternet or other types of networks while the user is not present.

Another object of the present invention is to teach reading skills tobeginning and intermediate readers.

Another object of the present invention is to enhance the ability ofelectronic text to serve as a means for learning a foreign language.

Another object of the present invention is to provide a vocabularybuilding tool.

Another object of the present invention is to improve the reader's senseof location within the text according to his or her preferences.

According to the present invention, as embodied and broadly describedherein, a method for using a computer system to enhance a user's readingenvironment according to the user's preferences or requirements isprovided. In a preferred embodiment, the text to be displayed may beselected by the user by specifying the location that the text occupieson a memory device accessible by the computer. In another preferredembodiment, the text to be displayed is already incorporated in acomputer program.

According to the method, in a preferred embodiment, the user providesinformation to a computer system through a parameter input processregarding a plurality of parameters that relate to the presentation oftext. By displaying the text in accordance with these parameters, thecomputer program permits the user to determine his or her optimalreading environment and provides this environment to the user for his orher reading enjoyment. Elements of the reading display that the computerprogram permits the user to control include: the speed of presentation,the screen location of presentation, the mode of display for informationassociated with the text, including linked objects, outlines, and theresults of searches.

In addition, the invention permits the user to annotate a text, and todisplay the user's and other users' annotations in a context designatedby the user. The invention also provides an enhanced annotationcapability whereby the reader is able to annotate a text withoutchanging the screen display or otherwise being distracted by the need tomake additional keystrokes.

In addition, according to the method, means are provided whereby theuser can interactively create a concordance to a text. According to themethod, the user provides information to a computer system through aparameter input process regarding a plurality of parameters that relateto the user's comprehension of the text. Using the parameter values thusselected by the user, the computer program draws on the primary text andsecondary reference texts to create a concordance that the reader canreview before, during or after reading to enhance her comprehension ofthe text, or of other texts involving similar subject matter.

Also, according to the present invention, a computer system comprisingmeans for effectuating the method of the present invention is provided.Further according to the present invention, computer-readable memoryencoded with a program directing a computer system to effectuate themethod of the present invention is also provided.

Additional objects and advantages of the invention are set forth in partin the description that follows, and in part are obvious from thedescription, or may be learned by practice of the invention. The objectsand advantages of the invention may also be realized and attained bymeans of the instrumentalities and combinations particularly pointed outin the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate particular embodiments of theinvention, and together with the description, serve to explain theprinciples of the invention.

FIG. 1 is a block diagram of a computer system as may be utilized by thepresent invention.

FIG. 2 is a flow diagram showing the overall operation of the presentinvention.

FIG. 3 is an illustration of a sample wordlist, which may be used inconjunction with the display of text as described in the specification.

FIG. 4 is an illustration of a typical display screen that a user mayencounter while reading a text using the present invention.

FIGS. 4A-4H depict the menus and submenus that can be accessed from thedisplay depicted in FIG. 4.

FIG. 5 is a flow chart illustrating the creation of a concordance inaccordance with the invention.

FIG. 6 is an illustration of a quiz generated by the invention using thetext shown in FIG. 4 in conjunction with the wordlist shown in FIG. 3.

FIG. 7 is an illustration of a display screen showing a createconcordance dialog box permitting the user to enter values forparameters for use by the computer program to identify words or phrasesin the text to be included in the concordance.

FIG. 8 is an illustration of a concordance result dialog box permittingthe user to view and edit the concordance created through use of thecreate concordance dialog box.

FIG. 9 is an illustration of a display screen showing a “referencelookup” dialog box permitting the user to specify a reference work forlookup of specified text units, the criteria by which the presence ofthe text unit in the reference work triggers a match, criteria which thetext unit must meet to trigger the lookup, and the desired informationfrom the reference work.

FIG. 10 is an illustration of a display screen showing an “annotationinput” dialog box permitting the user to input annotations of a text,including proofreader's marks.

FIG. 11 is an illustration of an “automobile keypad”, which is designedto perform prespecified functions on a connected laptop computer whilebeing used by the driver of an automobile.

FIGS. 12 to 15 illustrate display screens showing text being displayedin various configurations by the program. In these examples, the text isderived from “The General Principles of Constitutional Law in the UnitedStates of America”, by T. M. Cooley, 3rd edition, Little Brown and Co.,Boston, 1898.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A computer system as may implement and execute the present invention isdescribed with reference to FIG. 1. Such a computer system generally maycomprise a processing means (102), such as a central processing unit(CPU), for processing information; a memory (104) for storinginformation and instructions for the processor, preferably including adynamic storage means (such as random access memory (RAM)) and a staticstorage means (such as read-only memory (ROM)); a data storage device(108) such as a magnetic disk and disk drive for storing information andinstructions; a control means (106) for controlling input/outputoperations and the interaction between the processor (102) and thememory; a display device (110) such as a cathode ray tube, projector, orliquid crystal display for displaying a cursor and information to thecomputer user; an alphanumeric input device (112), such as a keyboard,including alphanumeric and other keys for communicating information andcommand selections to the processor (102); and a cursor control device(128), such as a point-and-click mouse device, trackball, joystick, orlight pen, for communicating information and command selections to theprocessor (102) and for controlling cursor movement. Other input devicesincluding microphones (118), scanners (124), video, touch sensitivityand galvanic skin response sensors may also be used. The system may alsoinclude computer hardware and loudspeakers or headphones appropriate forgenerating audio output (120). It is useful if the system includes ahardcopy device (114), such as a printer, for providing permanent copiesof information. Finally, the system may include a modem (116) forcommunicating with computer systems at remote locations, or a connectionto a server for communicating with computer networks (122) including theInternet.

FIG. 2 is a flow diagram depicting the overall operation of theinvention. While the invention can be practiced in a manner differentfrom that depicted in the flow diagram, the flow diagram provides auseful overview for understanding the invention.

The invention involves, among other things, the use of a computersystem, such as depicted in FIG. 1, to display electronic text stored inthe computer system or stored external to the computer system. As shownin FIG. 2, the invention comprises the steps of collecting parameterinput from the user (202); using the computer system to convert anelectronic text to be presented in accordance with the parameter valuesselected (208); and using the computer system to display the text inaccordance with the parameter values selected (210). In addition, aftercollection of parameter input (202) related to information to beextracted from the electronic text and secondary references, thecomputer system may extract the specified information (212) and displaythat information for the user (214).

“Parameter input”, as used elsewhere in this description, is defined asthe process of obtaining information regarding desired parameters fromthe user (202). This may be accomplished via dialog boxes, tool bars,use of predefined keystrokes, collection of audio, video, or otherelectronically codable input from the user for the purpose of assigningvalues to parameters related to optimizing the user's readingenvironment. The parameters can relate to the display of text—such asthe rate of text advance, amount of text displayed on the screen, sizeand font of characters. A different set of parameters—such as the user'sreading level and secondary reference sources to be used—relates to thecreation of the concordance. In a preferred embodiment, the computersystem is equipped with Windows™ software and suitable display andpoint-and-click mouse devices well known in the art to enable a user tosignal the computer system using the point-and-click mouse device.

The step of parameter input (202) in FIG. 2 preferably may beaccomplished by use of a point-and-click device, such as a mouse, or anappropriate predefined or user-defined shortcut key or keys, or acombination thereof. For some parameters, clicking on the parameter nameprovides a “slide bar” or other graphical means that permits the viewerto view any or all values for that parameter by simple mouse action suchas sliding the cursor along the slide bar. This method also permits theuser to rapidly assess the effect which changes in some parameters haveon the display, because the display can be set to change according toparameter values tentatively selected by this method. Thus, in apreferred embodiment the text displayed on the screen varies as newparameter values are assigned. In another preferred embodiment, whenvalues for all parameters have been selected, using the parameter inputprocess, the computer will format the selected electronic text. Inanother preferred embodiment, the computer system determines the user'spreferred parameter values by means of an interactive interview.

FIG. 3 depicts an exemplary wordlist, which may be used to enhance theutility of a document to its user. A wordlist is a listing of text unitssuch as words, phrases, or names that can be used by the computerprogram to enhance the user's reading environment. As used herein, thephrase “text unit” refers to words, phrases, names, and the like such asmight appear in a wordlist. Several of the functions of this inventionare the result of the use of wordlists that can for example be part ofthe computer program, generated from the text with or without userinput, created by the user, or created by the author of the text beingread or another text. Thus, in a preferred embodiment, the createconcordance function, described at more length below, among otherthings, compares a wordlist corresponding to the user's knowledge levelto a wordlist created from the text being read. The quiz functionsimilarly involves the use of a wordlist in conjunction with the text tocreate a quiz. Functions related to the display of text also rely onwordlists to identify specific text units to be encoded and displayeddifferently from surrounding text.

The text units shown in the wordlist of FIG. 3 are the basis for thedocument-based quiz shown in FIG. 6, and for further encoding anddisplay of text units as illustrated by FIG. 14. A wordlist similar tothe one depicted in FIG. 3 may also trigger lookup of the text units ina dictionary or other reference work. The wordlist illustrated in FIG. 3is a relatively short wordlist, and may have been the author's index, ormay have been generated by the computer by comparing a wordlist of thetext units of the text with a wordlist containing text units known tothe user in accordance with the “create concordance” function describedbelow. Other kinds of wordlists may include text units corresponding toa specified vocabulary level, or include only text units at a specifiedvocabulary level which do not appear in lists of text units at lowervocabulary levels. Wordlists may be constructed by the invention, or maybe supplied together with the invention by the manufacturer or aneditor.

In a preferred embodiment, a wordlist that seeks to represent the textunits known to the user is constructed by means of the computer programby means of an interview and test format initiated by the computerprogram. In this embodiment, the computer program has access to a masterwordlist that includes substantially all text units that exceed acertain threshold level of importance in the language of the text(prepositions, pronouns, articles and the like typically do not meetthis threshold). Combining information obtained from the user in aninterview format relating to the user's educational, vocational and/orprofessional background, as well as the user's stated interests, withinformation gathered as a result of testing the user by the computer,the computer system is able to generate a wordlist consisting of alltext units above a certain threshold level of importance with which thereader is assumed to be familiar.

FIG. 4 depicts a typical display screen for reading using the presentinvention. In a preferred embodiment, the words “File” 402, “Edit” 404,“Display” 406, “Annotate” 410, “Search” 412, “Audio” 414, “Windows” 416and “Help” 418 appear as a toolbar across the top of the screen. In thepreferred embodiment depicted in FIG. 4, text block 405 has associatedwith it a text toolbar 403, containing icons Preread 409, Links 417,Annotation List 419, Add to wordlist 411, Highlight/Skip 421, Advance423, Modes 425, and Annotate 427. Clicking on any of these words oricons in either of these toolbars then calls up a menu of additionalpossible functions, important examples of which are depicted in FIGS.4A-4H.

In the preferred embodiment depicted in FIG. 4, the computer screendisplay may comprise three different types of blocks: “Text”, “Outline”,and “Information”. Text block 405 contains material from a specific textbeing read by the user, and may also include information derived fromlinks related to that text. When creating a text block, the userspecifies the computer file(s) containing the desired text or texts.“Outline” blocks, such as outline block 413, refer to material displayedin a text block, and contain direct references to material in or relatedto the text. When creating an outline block, the user specifies whichtext or texts are referred to by the outline, and whether the userdesires the computer to generate an outline by reference to material inthe text. Alternatively, the outline may be loaded from a predefinedfile, for example, one supplied by the author or an editor of the text.An “Information” block, such as information block 415, containsinformation about the user's reading speed, location within the text, orother information relevant to the reading of text. More detailsregarding the use of these blocks is provided below, with specificreference to the toolbars associated with each type of block.

In some embodiments, some of the block assignments are preselected, so acomputer program of this invention can be have a specific textassociated with it.

The “File” Menu

In a preferred embodiment, clicking “File” 402 on the screen depicted byFIG. 4 displays a pulldown menu as depicted in FIG. 4A offering thefollowing choices: “Load parameter set” 420, “Load recent parameters”422, “Save parameter set” 424, “Save parameter set as . . . ” 426, “Pagesetup” 428, “Print” 430, “Print selection” 432 and “Quit” 434.

In a preferred embodiment, selecting an operation relating toparameters, such as “Load parameter set” 420 causes the computer systemto prompt the user to specify the parameter set that is intended.Selecting the “Load parameter set” option 420 calls up a menu displayingnames that have been selected by the user or users to representdifferent sets of assigned values for the parameters that define thereading display, as well as a plurality of presets that have beencreated by the manufacturer of the software. In a preferred embodiment,the user may select from a plurality of suites of parameter defaultvalues preset by the manufacturer and named appropriately to reflect thereading style or purpose for which they are intended. Thus, a readerconstructing her own preferred reading environment may start from thedefault suite that most closely matches her style or purpose. Forexample, preexisting presets might include levels 1-10, with increasinglevels corresponding to increased reading speed in terms of text blockdisplay and screen interval. Clicking on one of these set names resetsthe assigned values of the parameters to the values saved when that setwas created.

“Load recent parameters” 422 provides the user access to auser-predefined number of recently used parameter sets, from which theuser may select one for easier access to frequently used parameter sets.

In a preferred embodiment, each parameter used in this invention has adefault value (where the default value may include dormancy) that hasbeen preselected by the manufacturer. After the user has selected valuesfor each parameter for a particular type of parameter by means of aninterview process, direct entry, or dialog boxes, she can save them byselecting “Save parameter set” 424. This signals the computer to image adialog box that prompts the user to name the particular set ofparameters that he has just created. Thus, a reader may create differentparameter presets for technical reading than for leisure reading, andmay create a very different parameter preset for use in skimming orscanning material. In addition, in a preferred embodiment, each user ofthe software will be able to store his or her preferred parameter valuesfor different kinds of reading.

“Page setup” 428, “Print” 430, and “Quit” 434 have the normal functionascribed to these options in Windows™ programs. For example, in apreferred embodiment, selecting “Quit” 434 initiates the process wherebythe user signals the computer system on which the embodiment isimplemented to stop executing the embodiment. Selecting “Print” 430causes the computer system to query the user via a dialog box todetermine precisely what is to be printed. For a display containing morethan one functional block (such as a text block, an outline block, or aninformation block, all discussed below), the dialog box may require theuser to specify which block is to be printed. “Print selection” 432permits the selective printing of a region from the viewed text whichhas been pre-selected by a point and click device. Selection of materialfrom a document may be made either by direct point-and-click action onthe document itself, use of the “Select All” function discussed below,or, as described below in the description of the “Outline Toolbar”, bypoint-and-click action on an outline which refers to that document.“Print Selection” 432 box also permits the user to specify whichmaterial referred to within the selection (e.g., associated figures,tables, and references) is to be printed.

The “Edit” Menu

In a preferred embodiment, the “Edit” menu, as depicted in FIG. 4B,includes “Backtrack” 436, “Copy” 438, “Select All” 440, “Show allparameters” 442, “Shortcuts” 444, “Make toolbar” 446, “Interview” 448,“Create/edit Wordlist” 450, and “Quiz” 452.

Clicking on “Backtrack” 436 enables the user to return to previouslyviewed locations in a document, in the reverse order viewed by the user.This function permits users who follow links within documents oroutlines to other locations in the document, and then desire to returnto their previous reading position.

“Copy” 438 permits the user to copy selected regions of text from adocument to the operating system's clipboard or other analogous memorybuffer, for insertion into other programs or documents accessible to theoperating system. Selection of material from a document may be madeeither by direct point-and-click action on the document itself, by useof the “Select all” function 440, by reference to sentence or linenumbers of material for selection, or, as described below in thedescription of the “Outline Toolbar”, by point-and-click action on anoutline which refers to that document.

In a preferred embodiment, clicking “Select All” 440 causes the entiredocument (or the document referred to by an outline) to be selected forfurther operations. Portions of a document may also be selected bydirect point-and-click action on the document, or indirectly bypoint-and-click action on an outline referring to the document.Operations for which portions or all of a document may be selectedinclude printing, copying (including to an annotation or a separatedocument), highlighting, searching, reverse indexing, sorting, andconstruction of concordances.

Selecting “Show all parameters” 442 provides the user with access to adialog box or group of dialog boxes which display the value of eachparameter discussed in the description of the invention and permits theuser to change any or all parameter values.

Clicking “Shortcuts” 444 provides the user access to “Assign shortcutkey” 445 and “List shortcuts” 447. In a preferred embodiment, for eachparameter, the user has the option of assigning shortcut keys for thepurpose of changing the parameter without reference to a dialog box.

“Assign shortcut key” 445 permits the user to assign shortcut keys orkey combinations to any function discussed in this description of theprogram. This is accomplished by first selecting “Assign shortcut key”445, and then selecting a function using the menus and thepoint-and-click device. The program then queries the user regardingwhich key she would like to assign to the operation. If the key chosenhas already been assigned, the program permits the user to alter thisselection.

The user also may define shortcut keys which automatically advance thetext display to selected types of items (e.g., headings of differentlevels, paragraphs, sentences, pages, specific characters or groups ofcharacters).

“List shortcuts” 447 provides the user with a dialog box listing alldefined shortcut keys, and an opportunity to change any of them by useof the dialog box.

FIG. 4 depicts exemplary toolbar 403 for text block 405. Returning toFIG. 4B, “Make toolbar” 446 permits the user to create or edit toolbarsfor display in any block or across the top of the entire display,permitting more direct point-and-click access to program parameterswhile viewing the text. Additional elements may thus be added topre-defined toolbars (e.g., the text, outline, or information toolbars),and the order of display of icons in these toolbars may be rearranged.Assignment of elements to the toolbar is performed in a manner similarto that of “shortcut key” assignment. The user also has the option ofadding direct reference to specific saved parameter sets to a toolbar,permitting rapid switching between parameter sets when a reader changeshis or her mode of reading. In a preferred embodiment, placing a cursoron an icon within a toolbar also signals the computer system to displaya brief text description of the function to be executed when the icon isclicked. For example, in text toolbar 403 depicted in FIG. 4, placing acursor on the “Advance” icon 407 in the “text toolbar” 403 causes thetext “Define mode of text advance” to appear at the bottom of thescreen.

In a preferred embodiment, the computer program also provides means forinteractively selecting a preferred reading environment using the“Interview” function 448, available on the edit menu depicted in FIG.4B. This is done in response to questions posed by the computer program,in the form of an interview, where each parameter—and the effects ofvarying each parameter—are explained by text or audio/visual displays,including displays of a sample text block modified in accordance withthe parameter under discussion.

“Create/edit wordlist” 450 permits the user to construct or change awordlist, as depicted in FIG. 3 and described above. On the menudepicted in FIG. 4B, clicking on “Create/edit wordlist” 450 permits theuser to type in words to be placed in a wordlist, and add or subtractwords to pre-existing wordlists. In addition, while reading a text, asdepicted in FIG. 4, the user may add words to a wordlist by use of the“Preread” 409 and “Add to wordlist” 411 functions accessible from the“Text” toolbar 403.

In the preferred embodiment depicted in FIG. 4B, selecting “Quiz” 452initiates a quiz comprising questions and fill in the blanks about thetext to allow the reader to test her reading comprehension. This quizmay be derived by the invention based on elements provided in a text inparallel structure, or be provided as a part of the document by theauthor. FIG. 6 depicts a typical quiz question that may be generated bythe computer program on the basis of the wordlist of FIG. 3. Usingcomputer programming techniques well known to those with skill in theart, the computer system is programmed to select a sentence from thetext in which the word from the wordlist plays a prominent role. Thus,as in the example depicted on FIG. 6, the program displays a portion ofthe text to the user, but with a blank line in place of a word from thewordlist. In a preferred embodiment, multiple choices from the wordlistare provided as possible answers to the question. Alternatively, thereader may be required to fill in the blank. In a preferred embodiment,multiple blanks may appear in a single quiz question, therebychallenging the reader to recall more of what she had read. In apreferred embodiment, a different type of wordlist-based quiz providesthe user with multiple choice questions regarding the definition ofwords from a selected wordlist, based on a reference work selected bythe user. Definitions of other words from the wordlist are provided aspossible wrong answers. These quiz options permit the user to use theprogram to aid in the user's memorization of information from the text,and are especially helpful in the context of vocabulary-building orlearning a foreign language.

The “Display” Menu and Submenus

In the preferred embodiment depicted in FIGS. 4 and 4C, the “Display”menu includes “New Block” 454, “Delete Block” 456, “Shape” 458, “BlockAttributes” 460, “Text Attributes” 462, and “Display Size” 464, andsubmenus associated with these functions.

In a preferred embodiment, it is possible for the user to indicate via agraphical interface the precise desired locations on the screen of allcomponents of the display. To do so, the user selects “New Block” 454and uses the cursor control device to specify a location on the displayscreen where a block is to be placed, and its size.

For the following functions that can be accessed from the “Display”menu, as depicted in FIG. 4C, the attributes designated apply to ablock, as defined using the “New Block” function 454. The block that isinfluenced by changes in these parameters may be selected using a pointand click device.

“Delete Block” 456 permits the suppression of a block and informationassociated with that block from the display. If the user does not desireto completely delete this information or access to the material referredto by that block, but also does not wish to view it constantly, the usermay also select the “Display size” function 464 (described below), whichpermits the user to minimize the screen size used by this block.

The “Shape” function 458 permits the user to define the shape of theselected block. Blocks are normally rectangular in shape, but may alsocomprise other four-sided shapes, triangles, circles, ellipses, or othershapes.

In addition, under “Block Attributes” 460 by selecting “Foreground” 4601and “Background” 4602, the user may specify foreground and backgroundcolors for each block. For ease of editing, the location of blocks maybe changed using a cursor control device.

In a preferred embodiment, “Text Attributes” 462 comprises parametersrelating to typeset, such as font, size, style (e.g., bolding, smallcaps), color, justification on a line, margins, line spacing, wordspacing, letter spacing, line numbering, and sentence numbering.

In a preferred embodiment, “Display Size” 464 comprises parameters thatrelate to the size of the text block. Under this parameter grouping, theuser may specify the maximum size, the minimum size, and the default ornormal size for each created block. This can be done by inputtingnumbers corresponding to the size or through use of a point and clickdevice directly upon the block, or upon a slide bar representing adimension of the block. In addition, the user may resize a block at anytime through use of a point and click device. For example, in the caseof a rectangular block, assigning values for height and width is one wayto determine the dimensions of the text block. The definition of theblock size at any given time represents the maximum space which textassociated with that block will occupy on the display screen. Withinthis constraint, the dimensions of the text block displayed at any giventime may be further constrained by assigning values to some otherparameters, such as characters, syllables, words, clauses, sentences,and paragraphs. These other parameters may be defined in terms of thenumber (maximums and minimums) of each of them which are displayed perblock or per line at any one time. This permits the size of the textblock to vary from screen to screen, within the constraints of thedimensions assigned to it. As depicted in FIG. 4, the arrows in theupper-right hand corner of a block may be used to cause the block to bedisplayed at its maximum size, its default size, or its minimum size.The size of the block is increased or decreased by one step in thishierarchy by clicking on the upward or the downward arrow, respectively.

As described above in the case of blocks, but more generally in thecontext of other parameters used in this invention, the values of someparameters may be dependent on others. If one such value is changed,other parameters with a dependency are changed by the program in amanner consistent with their dependency. In a preferred embodiment,conflicts between user-selected parameters, where one choice isinconsistent with another, are resolved in priority order, givingprecedence to the most recently changed parameter. For example, the usermay designate a number of words per text block that will not fit withinthe specified number of characters per text block. In such a case, theprogram presents the text in accordance with the most recently assignedparameters.

The “Text Toolbar”

As depicted in FIG. 4, the “Text toolbar” 403 is displayed on textblocks, such as text block 405. Toolbar 403 provides access toparameters specific to the display of text by the program. In thepreferred embodiment depicted in FIG. 4, this toolbar comprises thefollowing options: “Preread” 409, “Links” 417, “Annotation list” 419,“Add to wordlist” 411, “Highlight/skip” 421, “Advance” 423, “Modes” 425,and “Annotate” 427. If the block on which a toolbar is displayed is notwide enough to accommodate the entire toolbar, as in the case of thetext blocks depicted in FIG. 12( a) arrows 1210 are displayed whichpermit the user to scroll horizontally through the items in the toolbar.The toolbar may be modified to include any of the other functions orparameters defined by the program, as described above in the section onthe “Edit” menu.

In the preferred embodiment depicted in FIG. 4, clicking on Preread icon409 causes the program to display a “Preread menu,” such as thatdepicted in FIG. 4D. In a preferred embodiment, the Preread menucomprises the selections “Assess Text” 466 and “Create Concordance” 468.Clicking “Assess Text” 466 causes the computer to assess the selectedportion of the text for difficulty, based on the vocabulary associatedwith wordlists provided with the computer program. These wordlistscontain text units associated with different vocabulary levels. Thepresence in a text of text units in a given wordlist causes the text tobe assessed at a level of difficulty associated with that wordlist. Thecomputer provides the user information regarding the number of textunits at each reading level which appear in the text. This assists theuser in determining how to adjust her presets for display of text aswell as of links to references for the current text. A method forassessing the difficulty of a text is described in U.S. Pat. No.4,456,973, the specification of which is incorporated herein byreference.

Selecting “Create concordance” 468 signals the computer to display aconcordance dialog box, as depicted in FIG. 7. The “concordance”function assists the reader to generate a customized wordlist (called aconcordance herein) that includes text units of importance to the user,and for each text unit, provides supplemental information such asdefinitions (for text units identified as being unknown to the user),biographical information (for names), examples of usage in the primarytext, and examples of usage in secondary texts. Thus, a concordance, asthat term is used herein, is a special type of wordlist, based both onthe text and on at least one other wordlist, which may providerelatively limited or quite detailed information about the text unitstherein listed.

FIG. 5 provides a flow diagram overview of the concordance creationprocess, which is described in more detail in connection with FIGS. 7and 8 below. As shown in the preferred embodiment depicted in FIG. 5,the concordance creation process comprises the steps of inputting theuser's reading level (502), generating a first wordlist corresponding tothe user's reading level (504), and comparing the first wordlist withthe text being read (508) to generate a second wordlist consisting ofwords appearing in the text that are beyond the user's vocabulary level(510). This second wordlist may then be combined to or compared with athird wordlist (512), thereby generating a fourth wordlist (notdepicted). At any point in this sequence, the user may selectconcordance format and input parameters (506), thereby selecting theappearance of the concordance, as well as the inputs from which theconcordance will draw information relating to the text units in thewordlist for which the concordance is created. After concordanceparameters have been selected and a concordance wordlist has beengenerated, create concordance step (514) signals the computer system todisplay a concordance based on the concordance wordlist, in thespecified format, and with the specified inputs. The user then has anopportunity to edit the concordance (516), and may choose to save orprint the concordance (518). As explained in more detail with referenceto FIGS. 7-8 below, the process results in the creation of asupplemental reference work that is tailored to the text being read aswell as the user's requirements, as specified by the user's readinglevel and format and input choices.

The create concordance dialog box 700 depicted in FIG. 7 prompts theuser to select a wordlist corresponding to the user's schema (i.e. theknowledge that the user brings to the text), either as determined by thecomputer in an interview, as described above, or as approximated by thereader on a scale of 1 to 10). Thus, to the right of “User's Schema” 702the user can choose between “Preset” and “User Defined”. Clicking on box704 next to “Preset” causes a checkmark to appear in box 704, andpermits the user to select a user's schema from a set of presetoptions—such as reading levels 1-10—presented when arrow 706 to theright of box 708 is clicked. Clicking box 710 next to “user-defined”causes a different set of choices to appear when the arrow to the rightof box 708 is clicked. These user-defined choices may correspond tousers' schemata previously created by the user or users. As the useruses the invention to read more and more literature, and continues toupdate the schema, the wordlist for the user's schema will become anincreasingly accurate portrait of the user's actual schema.

Clicking on input box 712 corresponding to “Add additional wordlist”allows the reader to add a wordlist of his own choice or creation, orthe author's index, to the concordance, regardless of whether wordscontained on this wordlist are part of the user's schema. Thus,important terms known to the user may, if desired by the user, appear inthe concordance.

Input box 716 corresponding to “Repetitions required in text” requiresthe user to enter a positive integer to specify how many repetitions ofa text unit in the text are necessary for it to become part of theconcordance.

Clicking on the arrow 720 to input box 719 corresponding to “Displayorder” accesses a pull-down menu encompassing the options of“Alphabetical”, “Frequency”, and “Text order”, from which the user canselect.

Input box 722 and its associated arrow 723 corresponding to “use intext” permit the user to select whether and how the use of theconcordance terms in the text will be displayed on the concordance.Thus, clicking arrow 723 provides options such as “one sentence +/−”,indicating that the sentence containing the concordance term, plus thesentence immediately preceding and the sentence immediately following,will be displayed.

Clicking on “Create concordance” 726 leads to the display of aconcordance result dialog box such as that illustrated by FIG. 8, andclicking on “Cancel” 728 cancels all changes made and returns to theprevious screen.

In a concordance result dialog box such as that depicted in FIG. 8, in apreferred embodiment, input box 818 corresponding to “specify referencelookup” permit the user to specify secondary references in whichconcordance terms are to be looked up. Thus, clicking on “Specifyreference lookup” box 818 permits the user to specify a particularreference work to provide input to the concordance. In a preferredembodiment, a separate reference dialog box, such as that depicted inFIG. 9, is provided for this purpose. Thus, in FIG. 9, the input isalready set to the name of the concordance. Specifying a referencelookup causes information, such as definitions, from the reference workto be displayed along with the words and their frequency in the sectionsof text being examined to create the concordance.

FIG. 9 illustrates a reference lookup dialog box. In each case, clickingon the input box next to a parameter accesses a pulldown menu ofoptions, from which one or more additional parameters may be selected(including, where relevant, the option of typing in a value). In caseswhere the additional parameters may have several different values, anadditional shaded area is provided to the right, which enables the userto assign values for those parameters from a separate pulldown menucorresponding to each chosen parameter. In the case illustrated by FIG.9, the example dialog box specifies that words in the text which arealso present in the predefined wordlist named “listname” 914 are to belooked up in “Webster's dictionary” 911. All 917 punctuation 916associated with the word in the text is to be ignored. The lookup modeparameter 924 specifies that keywords in “Webster's dictionary” arefound left justified, bolded, and in the first position in one of twocolumns on each page. Thus, clicking on any item in the shaded areaimmediately to the right of the term “Lookup mode” provides access to apulldown menu, from which one or more parameters may be selected,causing its (or their) inclusion in the list displayed on the left (inthis case, “Indentation”, “Style”, “Position on line” and “Columns” 923were selected from a pulldown menu containing these and other options).The value assigned to each of those parameters is displayed directly toits right, and may be changed by access to a second pulldown menu byclicking directly on each value (in this case, “Left justified”, “Bold”,“First word”, or “2”). In attempting to look up words in “listname”, thecomputer is to ignore punctuation in the text 926, and hyphens in“Webster's dictionary” 927. The computer is instructed to return thefirst line of the definition, and a link by which additional materialfrom the definition may be obtained by double-clicking on the line 929.In this case the reference lookup was specified using menu options, byclicking on the button labeled “Menu” 921, it is also possible tospecify reference lookup using a grammar or by loading preset lookupinformation (provided by the manufacturer) for commonly used referenceworks (or alternatively, for reference works specifically designed ormodified to work with the invention). Thus, a reference work could bebased on a standard dictionary or a single volume or multi-volumeencyclopedia, or a listing of prominent persons, or a dictionary ofscientific terms or a dictionary of legal terms. In a preferredembodiment, the computer program of this invention permits the user tosubstantially instantaneously change the source of the definition to geta perspective from something other than a standard dictionary.

Returning to FIG. 8, next to the definition for each text unit appears abox labeled “More” 820. Selecting “More” 820 for a specific entrysignals the computer to display a screen that contains additionalinformation concerning the text unit. Such additional information caninclude how the text unit is used in the text, an expanded dictionaryentry, a picture, glossary entry, treatise entry, an encyclopedia entry,or relevant material drawn from other secondary sources either containedin or linked to the computer program.

By clicking on Edit 816, the user is provided the opportunity to editthe concordance. For each entry, the user can delete some or most of theinformation provided, or the entire entry, to create the concordancethat will best suit the individual's particular needs. As part of theediting process, the user may select material from the concordancerelated to a particular text unit to be displayed on the computer screenwhen that text unit is encountered during reading. By clicking on thebox 802 to the left of a text unit in the concordance, the readerselects that concordance entry for display during reading. In apreferred embodiment, the reader can select a specified portion of aconcordance entry for display when the text unit is encountered in thetext.

After satisfactory creation of a concordance, the user may choose toprint the concordance for reference during his reading of the text. Theconcordance may also be useful in reviewing material, as in preparingfor an examination, or in reading other texts containing related subjectmatter. In a preferred embodiment, in addition to the option tospecifically edit each concordance entry, the reader has the option ofviewing or printing the following concordances: text units only; textunits plus definitions; text units plus definitions plus pictures(obtained by looking the text units up both in a standard dictionary anda pictorial dictionary); full concordance, or tailored concordance (i.e.the one created by the user).

Clicking on “Select” 806 permits the user to access a pull down menuwhich contains other options, including “Select all”, “frequency”, and“invert”. Clicking in any of the square boxes 802 causes a checkmark toappear (or in the case where a checkmark already exists, to disappear)in the box, and leads to selection of the word next to the box forinclusion in the concordance. Selecting “frequency” causes words presentin the text above a defined frequency to be selected (and checked),while selecting “invert” causes selected words to become unselected, andunselected words to become selected. Clicking on “Cancel” 810 cancelsall selections made and returns to the previous display screen. Clickingon “Save” 808 causes the new concordance to be saved for later use.Clicking on “Print” 814 causes the concordance to be printed by anattached printer. Clicking on “Next page” 812 causes additional wordswhich do not fit in a single dialog box to be displayed in a new schemaresult dialog box. Some schema result dialog boxes also have a “Previouspage” parameter, permitting access to previously viewed material.

Clicking on input box 804 to the right of the words “Name NewConcordance” permits the user to name the newly created concordance. Ina preferred embodiment, a default name is suggested based on the name ofthe text being read. The concordance words with which he is alreadyfamiliar, ensuring that a comprehensive yet focused reference can bereadily developed. The user thus may make judgments regarding additionalmaterial to be displayed along with a text, before even attempting toread the text. Additionally, the user may construct multipleconcordances for a given text, permitting rapid switching back and forthbetween such concordances when the user desires to change modes ofreading.

Links Menu

Returning to FIG. 4, in a preferred embodiment, by selecting “Links” 417from the “Text toolbar” 403, the user may select different types oflinks to be used when reading an electronic text. In the preferredembodiment depicted in FIG. 4E, which depicts a links menu andassociated submenus, specific options include “Reference” 470,“Annotations” 472, “Same text” 474, “External” 476, and “Location” 478.

“Reference” 470 pertains to look-up of material in documents orreference works such as dictionaries (including pictorial dictionaries),glossaries, encyclopedias, and treatises. “Annotations” 472 pertains toannotations of the text. “Same text” 474 pertains to providing materialassociated with the document, such as footnotes, endnotes, figures,tables, and links to other locations in the text which may have beenpredefined by the author. “External” 476 pertains to inclusion ofmaterial from a computer network, e.g., world-wide web sites, e-mailaddresses, or from a different computer program.

Links that may be displayed include but are not limited towriter-defined, user-defined, or program-defined links to otherlocations in documents or programs either resident locally or accessiblevia a computer network. Links may provide access to othercomputer-readable or controllable information including text, audio,still pictures, video or motion picture information.

“Reference” 470 provides the user with access to material that has beenlooked up in one or more reference works. The “Reference” submenucomprises the following parameters: “Select Reference works” 4701,“Input” 4702, “Lookup mode” 4703, and “Display” 4704. These parametersmay also be changed from the reference lookup dialog box displayed inFIG. 9.

“Select Reference works” 4701 permits the user to provide the programthe names and locations of files containing reference works to beaccessed by the program. Such files may include dictionaries,thesauruses, encyclopedias, casebooks, treatises, or any other text.Such files may either be resident on the user's computer, or may beaccessible through computer networks or the internet. In the specialcase of references associated with a concordance created by the userusing the “Preread” (create concordance) option, this information mayalready have been provided, and is already preset to the appropriatewordlist.

Selecting “Input” 4702 permits the user to designate which material inthe text block will be looked up in the designated references. Choicesinclude “Wordlist” (permitting the user to designate one or morewordlists, which will trigger looking up words in the reference work(s)whenever a word in the wordlist(s) are encountered in the text), “Partof speech” (which causes words of a selected part of speech, e.g.,nouns, verbs to be looked up in the reference work(s)), “Type” (whichprovides access to a dialog box permitting the user to type a word orphrase to be looked up in the reference work) and “Select” (which causeswords selected by the user while reading the text, using apoint-and-click device to be looked up). For example, the word “elector”4052 as displayed in FIG. 4 was looked up in a dictionary using thisfeature. “Input” 4702 further provides the option of specifyingadditional information about how to identify words from the text forlookup, and of defining which occurrences should trigger a lookup.

“Lookup Mode” 4703 permits the user to designate how material to belooked up in the reference is to be identified in the reference. Forexample, in dictionaries, the primary definition of a word is normallyindicated by the presence of the word as the first word on a line, andthe indentation, line spacing (directly prior to the word), font, sizeor style of the word may be different from other words on the page. In apreferred embodiment, the computer program of this invention containspredefined lookup modes, including but not limited to styles whichidentify primary words in dictionaries, encyclopedias, thesauruses andcasebooks. In addition, the user has the option of defining a lookupmode, either through a series of menus (as illustrated by FIG. 9) or asa grammar defining a context in which a word or words must be found inorder to trigger a match and display of the appropriate material as a“Reference” link.

“Display” 4704 permits the user to designate which material from thereference will be displayed. This may simply be several lines of textsurrounding the looked up material, or may be defined as an entiredefinition or article. If the program is instructed to return a link tothe appropriate section of the reference work (as in the exampleillustrated by FIG. 9), the user may access more detail from theoriginal page of the reference work by clicking on the displayedmaterial from the reference work.

The means by which the preferred embodiment of this invention describedin connection with FIG. 9 handles references permits the user access toa broad variety of references, rather than merely referencesspecifically designed to work with the program. For example, display ofreference links in this fashion permits the user to access pictorialdictionaries, which include pictures (e.g., representations,illustrations of sign language, animated sequences of a person mouthingthe word) that correspond to the text units of text that he is reading.In another preferred embodiment, predefined lookup modes are notnecessary, as the electronic versions of the references used arespecifically designed to be compatible with the program of thisinvention.

The “Preread” 409 feature may be used in concert with the Reference 470features to select text units for inclusion of such pictures based onthe reader's vocabulary level or the number of times the text unitappears in the text. The ability to include such pictures based on theirpart of speech is of particular value to readers who wish to concentrateon learning only certain types of words. Among other benefits, suchpictures serve as an aid to memory—either directly or subliminally—andmay be valuable for individuals learning a foreign language or withreading disabilities. The use of pictorial links in this manner (and/orthe use of verbal highlighting described below), improves the reader'scomprehension and retention, without slowing down the reader's readingspeed.

Selecting “Annotations” 472 in the “Links” portion of the “Text toolbar”permits the user to define which of the available annotations are to bedisplayed with the text. For example, the annotation of category “ClassNotes” 4054 is shown displayed either in the margin of FIG. 4, but itcan also be embedded in the text, as shown in FIG. 13. The user alsoutilizes the “Annotations” function 472 to gain access to the “editingmode” 4721 for display of annotations, permitting the user to define theprecise mode of display of certain types of annotations. The“Annotations” function 472 permits the user to specify that text is tobe displayed in the “editing mode” 4721, and to define characteristicsof the “editing mode” 4721.

In the case of annotations that contain proofreaders' marks (see thedescription below of “Annotations” 410), or represent multiple readers'interpretations of a document, the program displays text whichincorporates these comments in a way that a master editor can decidewhich among multiple options is the best way to state material withinthe text. In the “editing mode” 4721, text containing editing marks maybe displayed either with the editing marks intact (for example, in themargin of the text), or alternatively, the text may be changed toincorporate the suggested revision. A third alternative is to displaythe text, in short segments, showing each of multiple suggested versionsbased on multiple different annotations. In a preferred embodiment, themaster editor can choose to view the text line-by-line, with theoriginal version on top, and other potential versions displayed beneathit. These displays are designed in such a way that text that is the sameamong each version is lined up vertically. In addition, the user has thealternative of displaying the original text, and showing anothercharacter (e.g., a period, “.”) in subsequent lines to signify nochanges from the original in that character's position.

Selecting “Same text” 474 from the “Links” menu depicted in FIG. 4Epermits the user to define which of the available elements defined alongwith the text (e.g., footnotes, endnotes, figures, tables, links toother locations in the text which may have been predefined by theauthor) are to be displayed with the text.

Selecting “External” 476 in the “Links” menu permits the user to definewhich of the available external links (e.g., world-wide web sites,e-mail addresses, information derived from other programs) are to bedisplayed with the text.

For each type of link (reference, annotation, same text, or external) tobe displayed, the user also defines through use of a dialog box, calledup from “Location” 478 under the Links menu, whether links are displayedin the text body or in the margins of the text. For items displayed inthe margin, the user may also specify whether a line is to be includedbetween the text and the associated material in the margin. For eachlink, the user also may specify whether a reference (e.g., page numberand line) is included to the location in the text to which the linkrefers. Each link (including different links of the same type) may bedisplayed in a different color, font, or style. Because the user alsohas the option of excluding the text from display in a text block, theuser may thus create blocks which contain only information related tolinks associated with the text, and print out materials from suchblocks.

“Annotation List”

The “Annotation list” option 419 in text toolbar 403 depicted in FIG. 4should not be confused with the “Annotations” option 472 under the“Links” menu depicted in FIG. 4E. The “Annotation list” 419 in texttoolbar 403 simply provides access to defined annotations, permittingrapid identification of such marked regions within the text. Under thisparameter grouping, these marked areas are provided in a pull-down menu.Where the annotations have names, the names are provided, otherwise thefirst word or words in the annotation or, in the case where theannotation contains no words, the first words from the text directlyfollowing the annotations location are listed. Upon selection of one ofthese items, the region of the text with which it is associated isdisplayed, along with the selected annotation. The annotation list maybe customized to include annotations from any combination of thecategories of annotations which may be defined on the text.

Add to Wordlist Feature

Selecting “Add to wordlist” 411 in the “Text” toolbar 403 depicted inFIG. 4 permits the user to add words in selected text to a specifiedwordlist for use in any of the purposes which wordlists have in thisinvention. Highlight/skip feature

In a preferred embodiment, selecting “Highlight/skip” 421 in the “Text”toolbar 403 of FIG. 4 calls up a menu, such as that depicted in FIG. 4Fcomprising various additional features such as “encoding” 480,“skip/include” 482, “cursor” 484, and “attributes” 486.

“Encoding” 480 permits the user to define which elements within the textblock will be encoded using specified attributes. Elements which may beselected for highlighting in this fashion include specific elements ofspeech (such as nouns, verbs, adjectives, or adverbs), materialassociated with certain links as defined above (including simply adesignation of the existence of a link, or the presence or absence of aword in a specified wordlist), or the location on the page. For example,the text block 1410 in FIG. 14 illustrates the highlighting of wordse.g., 1411, present in the wordlist shown in FIG. 3. For each suchdefinition of encoding, the user also describes the specific attributesfor display of each type of encoded text, including their color, size,brightness, spacing, bolding, italicizing, capitalization, font, style(including underlining), or by providing voice pronunciation.

“Skip/Include” 482 permits the user to designate any of the items listedabove under “Encoding” 480 to be left out of the displayed text.Alternatively, the text may be displayed in a way which includes onlythe selected elements. For example, specific parts of speech may be leftout of the textual display. This feature is useful for prereading orskimming, where it is presumed that the benefit of including parts ofspeech such as adverbs or adjectives is outweighed by the additionaltime it takes to read them. Clicking on parts of speech 4822 under theskip text skip submenu 4821 signals the computer to display a menulisting all of the parts of speech. Each part of speech can then beselected for inclusion 4823 or exclusion 4821. In addition, the user mayspecify that all the text be omitted (permitting exclusive display oflinks in a block). This permits the use of a text block for theexclusive display of references, or for the exclusive display of figuresand/or tables associated with a text. The user may also easily switchout of the skip text mode, permitting display of the text in its fullcontext.

The “cursor” parameter 484 permits the user to select a cursor for aidin scanning the text block or scrolled text. The cursor can comprise aflashing line, a bright spot, a dark spot, an image of a finger,highlighting (by alteration of text attributes), voice pronunciation ofsome or all of the text, other audio signals (such as metronomes), orany other means that might be used to assist in reading a text block orscrolled text at a predefined speed. The user selects the speed andpattern of cursor movement across the text. The text block in FIG. 15illustrates a “cursor” 1511 which highlights an entire line of the textat once, and moves down the screen at a predefined rate of speed.Alternatively, “cursor” movement may be defined by deletion of text fromthe display at the predefined rate of speed. This speed may besynchronized with the display of text using the “Advance” 423 feature inthe text toolbar.

Advance Feature

In the preferred embodiment depicted in FIG. 4 and FIG. 4G, selecting“Advance” 423 from text block toolbar 403, calls up a menu featuring“Select Display Type” 488, “Select Speed” 490, and “Sequencing” 492.

“Select Display Type” 488 gives the user the option of designatingwhether automatically displayed text will be provided as discrete blocksor scrolled (from the top or bottom) in a predefined location on thepage.

In a preferred embodiment, by selecting “Select Speed” 490 a user maydefine the rate at which text is displayed (for scrolled text, this maybe defined in lines per unit time; for text in block form, this may bedefined in terms of intervals between display of successive blocks oftext; or, in either case, in terms of words or characters per unittime). In addition, in a preferred embodiment, the user is able toselect keys which may be used to increase, decrease, or stop the rate ofdisplay of text while observing the text without further reference tothe dialog box. The user also is able to select a key to advance thedisplay manually. Furthermore, the user is preferably able to selectvariable rates of speed which change in a manner predefined by the user.

In a preferred embodiment, the user may select “Sequencing” 492 toselect the order in which text appears in different text blocks presenton the screen but assigned to the same text. The user progressivelyselects blocks for appearance of text, until a block which has alreadybeen selected is picked again. This defines the sequence of textdisplay. If no block is reselected, text display continues in the lastblock chosen. For example, the user can specify that text will initiallyappear in a text block located in the upper left hand corner. After thefirst screen interval, the first group of text remains in the upper lefthand corner, and a subsequent group of text is displayed in a text blocklocated in the lower right hand corner. After the second interval, thetext in the first text block is replaced by a third group of text, andso on. Alternatively, the user may specify that text appears in allblocks at the same time, and is replaced in older blocks within thesequence over time. This may better simulate the reading of a book,where, for example, there may be two pages displayed in two neighboringblocks (as shown in FIG. 12 a), and after a predefined intervalpermitting the reader to reach the second page, the contents of thethird page replace those of the first page (which is simulated by thefirst text block, shown in FIG. 12 b). While certain readers may preferto have relatively long blocks of text in each text block, some readersmay find it advantageous to have only a very few text units in each textblock. By having relatively small amounts of text appear in differentlocations on the screen in rapid succession, rapid eye movement andincreased mental alertness is promoted. In a preferred embodiment thatis especially useful when the amount of text present in a text block isrelatively small, the reader has the option of specifying that symbolsreplace such space-consuming conventions of punctuation as indentationsand hard returns as may appear at the end of a paragraph. Thus, forexample, rather than a hard return and one or two indentations, a newparagraph would be indicated as ¶ symbol.

In a preferred embodiment, when a definition or certain other linksappear, the user has the option of specifying that screen advancementautomatically switches to manual mode. In this embodiment, the user alsohas the option of overriding the screen interval (or scroll speed)deactivation feature such that the screen continues to be updatedautomatically. In another preferred embodiment, the user has the optionof selecting a mode wherein the screen interval automatically increaseswhen a definition is displayed on the screen, by a percentageproportional to the volume increase in text (as measured by characters,words, or sentences) due to the definition.

In addition to the parameters described above, the dialog box called upby clicking on “Select Speed” 490 provides a “variable” option 4904.This option permits the user to vary the size of the text block that theuser will see over time. This feature can be used to gradually increasereading speed.

In a preferred embodiment, “Variable” 4904 comprises the alternatives“variable-faster” 4907, “variable-slower” 4908, or “variable-difficulty”4909. Selecting “variable-faster” 4907 causes the time interval betweenscreens to decrease (or the speed of scrolling to increase) at a ratechosen by the user, and can be useful to users wishing to increase theirreading speed. Selecting “variable-slower” 4908 causes the time intervalbetween screens to increase (or the scroll speed to decrease) at apredetermined rate, and can be useful to users wishing to compensate forfatigue as they read. Selecting “variable-difficulty” 4909 causes theinterval between screens (or the scroll speed) to increase or decreasein accordance with an algorithm that takes into account the length ordifficulty of words, length or structure of sentences. In a preferredembodiment, the algorithm for determining the difficulty of a passageutilizes an electronic dictionary and/or glossary which has assigneddifficulty levels to each word. The rate at which text is displayeddecreases as the number of words in a given textblock (or in a givennumber of words of text) that exceed a reading level input by the readerincreases.

Copending application Ser. No. 08/818,152, filed Mar. 14, 1997, for aUser Interface for Dynamic Presentation of Text, the specification forwhich is incorporated herein by reference, describes a novel method oftext advance based on the user's eye or head movements that is used in apreferred embodiment of the present invention.

In a preferred embodiment, the user can also select “manual” 4901 underthe “Select Speed” submenu 490, thereby deactivating the automaticscreen update of the screen interval function or the automatic scrollingfunction. In the “manual” mode for screen advance, successive screensare displayed in response to mouseclicks or specified keys, or similarsignalling mechanisms. Similarly, for the “scroll” mode of screenadvance, the “manual” mode permits the user to manually controlcontinued scrolling by using appropriate mouseclicks or depressing akey.

The “Select Speed” parameter also permits the user to select the mannerin which text is presented. Clicking on “text presentation” 4902 callsup a submenu showing “letter-by-letter”, “word-by-word”, or“cluster-by-cluster”. Choosing “letter by letter” means that the textblock will be displayed letter by letter. Selecting “word-by-word”signals the computer system to display the text block word by word.Selecting “cluster-by-cluster” calls up a further menu that permits theuser to define a cluster in terms of number of sentences or words, andsignals the computer to display the text in clusters as defined by theuser.

The “Modes” 425 function on the “Text” toolbar provides the user accessto special modes, as illustrated in FIG. 4H. Additional modes(associated with saved parameter sets) may be added to this list by theuser. One pre-defined special mode accessible to the user by this methodis the “Auto-annotate” mode 4251. When text is displayed in this mode,typing while observing text automatically causes an annotation to becreated at the location of the cursor, as described below either underthe “Text” 4276 or the “Audio” 4277 function under the “Add” 4274submenu in the “Annotate” function in the text toolbar, depending on thespecification of the user. Use of this mode as a shortcut to the “Text”function 4276 excludes definition of shortcut keys as any of thenormally used letters and text symbols. Conflicts, if any, are reportedto the user when entering this mode, so appropriate changes in shortcutkeys may be made.

By using the voice “Auto-annotate mode” 4251, for a computer equippedwith an audio input recording device, the user may make voice recordingsof annotations as text is either read by the user or read to the user bythe computer. Voice recordings can be stored as voice recordings, or canbe converted to text by voice recognition programming as is known in theart.

In a preferred embodiment, text blocks marked as having annotations aresaved for later retrieval on reread or can be printed out and used asnotes. The “Annotate” function 427 contains the following subgroups:“Change category” 4271, “Add” 4274, and “Remove” 4279.

In a preferred embodiment, the user has the option of “marking” text formore than one category. For example, one category might representsomething the user wants saved because it is important, whereas anothercategory might represent something the user wants saved because he doesnot understand it. For text marked in the second (don't understand)category, during rereading, the reader could review and study the markedtext and then decide whether to mark it for inclusion with the“important” material. For example, the illustration of FIG. 10, theannotation is designated as belonging to the category of “Class notes”1010, which may be one of several categories defined for this text.Different categories of annotations are accessed using the “Changecategory” function 4271. This function displays the currently selectedcategory (a file containing annotations of this category), and permitsaccess to the “List categories” 4272 function (which displays alldefined categories for the document) and “New category” 4273 function(which permits creation of new categories of annotations). In apreferred embodiment, specific keystrokes corresponding to creation ofan annotation in each category may be defined by the user.

The “Add” function 4274 is the primary method by which annotations areadded to the selected category. New annotations are defined on a regionof text by selecting a region in a text or outline block and choosing anoperation from the “Add” 4274 parameter grouping. These operationsinclude: “Mark” 4275, “Text” 4276, “Audio” 4277, and “Link” 4278. Anyannotation may include one or more items defined by these operations.

“Mark” 4275 simply marks the text, permitting subsequent ready access toit. When marking text, a name may be given to the location, for displayon the outline or a pulldown menu of annotations (the “Annotation list”419 parameter) in the “Text” toolbar 403.

“Text” 4276 marks the text, but also permits inclusion of textannotations for comments on the text. A sample “Text” dialog box 1040 isillustrated in FIG. 10. This may be useful when the user wishes toretain his or her initial thoughts on reading the text, or when a userwishes to provide his or her thoughts regarding this text to anotheruser. If a text location is included, the annotation is stored at thatlocation. If a region of the text is selected, for example, with a pointand click device, the entire selected text is copied into theannotation, and can be further edited there if desired. The “Text” 4276function also permits the user access to a full range of copy-editingsymbols 1020 (including those for text deletion), which are recognizedfor display in the “editing” mode 4271 described above in thedescription of the “Text” toolbar 403. The “Auto-Annotate mode”4251described under the description of “Modes” 425 accessible through the“Text” toolbar 403 provides direct access to the text function as soonas the user starts typing. This provides a handy shortcut for a user whowishes to take notes while reading a text using an automatic pageadvance mode. In a preferred embodiment, specific sentences or lineswithin the text on the viewed page may be copied directly into a textannotation by reference to the sentence or line number displayed (whensentence or line numbers are displayed), by depressing the ALT key whiletyping the number.

Through use of a microphone attached to the computer, the annotator(user) may also include his or her voice annotations in the document,through use of the “Audio” 4277 function. In addition to voice, the“audio” 4277 function also permits access to other sounds predefined bythe operating system of the computer. The “Audio” parameter may also beselected as a part of the “Auto-annotate” mode 4251. This permitsannotations to be automatically created and stored if the user speaks ormakes sounds while reading the text (or having the text “read” to him orher by the computer). Such annotations may be coupled with othercommercially available programs to decode speech, permitting translationof such voice annotations into text annotations. Alternatively, whendesired, this function could be served by an editor. This feature isexpected to permit the user to make efficient use of time otherwise notreadily available, for example, while driving an automobile, a textcould be “read” to the user over the car's stereo system, and the usercould make spoken annotations without diverting his attention fromdriving the car. This feature could also be used in conjunction with an“automobile keypad” 1101, as described in the following paragraph.

As depicted in FIG. 11, the “automobile keypad” 1101 is a device whichis attached to an automobile (preferably the steering wheel) and to acomputer (preferably a laptop) which provides the user (the driver ofthe automobile) access to a limited subset of functions associated witha program being run on the computer. The automobile keypad contains keyswhich have hardware configurations identical to those in normal computerkeyboards, and a microphone, which may be plugged into the auxiliarykeyboard port (and audio input port) of a laptop computer. Differentversions of the automobile keypad have different numbers of keys, but inall cases, the number of keys is lower than on a normal computerkeyboard. Provided with the automobile keypad is a computer programwhich permits the writing of macros for the keys of the automobilekeypad, which define keys or combinations of keys on the automobilekeypad to denote meanings identical to those associated with specifiedkeys or combinations of keys, mouse movements or mouse-clicks, or othermethods of designating instructions to a personal computer. Thus, in thecontext of the invention described herein, a five-key automobile keypadcould be programmed such that one key instructs the program to read thetext from the current cursor position, another key instructs the programto back up quickly (e.g., rewind), another to jump forward in the text,another to stop reading, and another to stop reading and store a voiceannotation of the text. The same instruction set (or any instruction setcontaining up to seven elements) could also be encoded using a three-keyautomobile keypad, in such a way that depressing one, two or three keyssimultaneously would instruct the computer to perform specifiedoperations. While the automobile keypad is of substantial utility inthis described embodiment of this invention, it is clear that anautomobile keypad could be configured to operate with many differentkinds of computer programs, permitting the user to recapture time spentdriving a car (e.g., commuting to work) for more productive purposes.

Selecting “Link” 4278 permits the user to create links to otherlocations within the document, other texts, networks, or other computerprograms within the annotations.

Selecting “Remove” 4279 permits the user to remove annotations from aspecified region on a text.

It is noted that user-defined annotations may be displayed as “links”,either in the text or on the outline.

The Information Toolbar

FIG. 4 provides a display of all three types of blocks—text block 403,outline block 413, and information block 415. “Information” toolbar 431in the information block 415 permits the user to select from “Readingspeed” 4311 and “Location” 4312, as further depicted on FIG. 4I. Theseparameters signal the computer to display in a block information relatedto the user's reading speed, or typewritten or graphical informationrelated to the user's location within the document (for example, agraphical representation of the page, chapter, or document the user isreading, with information on the location on that page, chapter, ordocument).

The Outline Toolbar (FIG. 4J)

In FIG. 4, “Outline” block 413 permits the user to view a table ofcontents or outline for the text, which may be constructed by thecomputer program or provided separately by the author or an editor ofthe associated text. “Outline” blocks are created using the “New Block”454 function.

When generated by the invention, an outline is based on headings,changes in font, typeset, and other cues often used by authors to denotedocument structure. In a preferred embodiment, the computer outlinegenerator uses a predefined grammar to identify different headingswithin the text and their defining characteristics, and uses the orderin which they appear relative to one another to determine theirprecedence. The invention also utilizes specific information (includingspecific words and page numbers) contained in the table of contents orother information regarding document structure provided with the text(e.g., tables of references, lists of figures or tables, indexes) to theextent they are supplied with the text to generate a new grammar, whichis used to parse the text, in turn generating the outline. Itemsrecognized in the course of preparing the outline (whether or notsupplied explicitly by the author of the text) include locations ofvarious components of the text (e.g., headings, figures, tables,indexes) and references from within the text (e.g., to figures, tables,indexes, material outside of the text, or other parts of the text). Ifannotations are included for the text, they are also incorporated intothe outline.

Turning to the menu and submenus depicted in FIG. 4J, when viewing theoutline, the reader is given the option through the “Include” function4291 in the “outline toolbar” 429 of viewing various elements associatedwith the text. These include the titles of one or more texts associatedwith the outline, a listing of all index entries (from the author'sindex, as for example, is illustrated in the “outline block” 413 shownin FIG. 4) and references to all figures and tables that appear undereach heading (an outline block which displays tables, e.g., 1521referred to by the text is illustrated by FIG. 15), or under selectedheadings (an outline block which displays subheadings under one of themajor headings is illustrated by FIG. 13). In addition, when viewing theoutline, the reader also has the option of viewing the first and lastsentences, the first and last paragraphs, or other information from thetext, under each heading, under selected headings, or in associationwith other items in the outline. This information helps the user tounderstand the context of elements both in the outline and in theassociated text. For items included in the outline, the user has theoption of specifying whether headings at higher levels of the outline(which may help to put those items in context) are also to beautomatically displayed (e.g., uncollapsed, as defined below) on theoutline. Selecting “size” 4292 causes the number of words, pages, orlines of text in sections of the text referred to by headings in theoutline to be displayed on the outline, preferably on the same line asthe heading itself. The outline may also include references to linkswithin the text. The user may specify that the results of searches andreverse indexing are displayed on the outline 413. A sample searchresult 1450 is displayed on the outline block illustrated by FIG. 14.Reverse indexing is described under the “Search” function below, and isillustrated in the second outline block 1330 in FIG. 13.

The “Select” parameter 4293 permits the user to specify whether materialselected by use of the point and click (cursor-control) device on theoutline refers to the outline itself, or to the corresponding materialin the associated text. Multiple specific elements, not necessarilycontiguous, may be selected from the outline by holding down the “Shift”key while selecting items on the outline. After being selected by apoint and click device, a region on the outline is highlighted 1321 (asin FIG. 13). If the “Select” parameter were set to “outline”, then thisselection would merely refer to the selected line on the outline.However, if the “Select” parameter were set to “text”, then thisselection would refer to all of Chapter III in the associated text. Asearch for a specific word could then be limited to Chapter III, oralternatively, Chapter III could be selectively printed out withoutselecting the material directly on the text block. After selection ofthis line on the outline, selecting “Go to text” 4294 on the outlinetoolbar 1322 would cause the text display to begin at the start ofChapter III.

In addition, the “Select” parameter 4293 permits the user to specify theselection of items on the outline based on their level relative toalready selected items. For example, specifying to “Select” the “all inselected level” in the example 1320 in FIG. 13 would cause all chapterheadings to be selected on the outline. Other options include “all aboveselected level”, “all below selected level”, “all above selected items”,“all below selected items”, and “invert” (which causes all unselecteditems to become selected, and all selected items to become unselected).

For all elements displayed in the outline, appropriate links to theirlocations in the associated text block are provided so the user may usethe outline to move around the document using simple mouse action. Thus,clicking on “Go to Text” 4294 calls up the text corresponding to aselected item of the outline. If multiple items on the outline areselected, clicking on “Go to text” repeatedly causes the referred-toitems in the associated text block to be displayed sequentially. Theoutline also includes a scroll bar, which permits scrolling through theoutline.

By simple mouse action, the reader may change the depth of the outlinepresented, and the types of information presented on it. The display ofthe outline is controlled by the “Collapse” 4295 and “Expand” 4296functions. Selected items on the outline may all be expanded (meaningthat items at the level beneath the selected headings are to bedisplayed) or collapsed (meaning no items beneath the selected headingsare to be displayed) using these parameters. In addition, all elementsof an outline below (or above) a selected item may be expanded orcollapsed. For any level of the outline, the material below it may behidden from view by selection of the arrow (e.g., 4131) appearing to theimmediate left of the item. When this arrow is pointing to the right4132, this section of the outline is collapsed. When the arrow ispointing down 4131, this section of the outline is expanded. Access tothese arrows may be gained by clicking on “Show Outline Arrows” 4297,and the arrows may be eliminated from the display by clicking on “HideOutline Arrows” 4297.

“Advance” 4298 in the outline toolbar permits the user to specifywhether the displayed location in the outline is linked to the displayedlocation in an associated text. Under some circumstances, the user maydesire the outline to scroll forward as the text is read. Under othercircumstances, the user may prefer to keep display advance of the twounlinked.

Outlines may refer to one or more texts or reference works which areavailable to the user. The ability to use the outline to specifysearches within these multiple texts or references, or to specify otheroperations on multiple texts or to display the results of operations onmultiple texts provides the invention with the unique capability ofindexing and accessing an entire library of material which wouldotherwise be very difficult for the user to keep organized.

“Annotate”

The Annotate 410 function provides easy access via a menu to thefunctions associated with annotation, including annotation list 419,annotate 427, and auto-annotate mode 4251 in text toolbar 403.

“Search”

An integral element of reading a text is the ability to search forspecific elements within that and other texts. Selecting “Search” 412provides access to this function. Specifically, as illustrated on FIG.4K, clicking on “Search” 412 calls up a menu providing as choices “Find”4121, “Find again” 4122, “Reverse Index” 4123, “Display results” 4124and “Attributes” 4125.

Selecting “Find” 4121 provides a dialog box which permits the user tospecify material which he or she desires to locate in materialassociated with any block, including a text block or an outline block,displayed on the screen. Finding items associated with a reference workreferred to in the text is governed by the specifications regarding thatreference work, using a dialog box which assigns values similar to thoseassociated with the “Lookup mode” 4703 also partially illustrated inFIG. 9. The user also may specify whether linked documents are to besearched. The region of the document to be searched may be limited byselecting portions either of the text or the outline (as describedabove). In addition, the user may specify whether all occurrences of thespecified sequence of characters are to be found and displayed, or onlythe next one going forward or backward from the current position in theselected text. The material to be found may be specified either as asequence of characters, a list of words (including reference to apre-defined wordlist) from which a match of one of the words triggers amatch, or more complex items, such as different sequences of characters,all of which must be found within a specified distance of one another.

“Find again” 4122 permits the user to re-perform the most recentlyperformed Find operation from the current position in the specifieddocument, without reference to the “Find” dialog box. The user is alsopermitted to define keys to scroll forward and backward through elementsfound as the result of a “Find” operation which identified alloccurrences of a specified sequence of characters in the document.

Selecting “Reverse Index” 4123 causes elements related to selected textdisplayed in a block, or selected portions of an outline displayed in ablock, to be searched for words which are present in the document'sauthor-defined index. If no portion of the text is specified, the searchcomprises a range of words around the current position in the documentpredefined by the user. The results of this search are displayed on theoutline, or in the document. For use of reverse indexing, it is usefulto set up a separate outline block which contains only the results ofreverse indexing, which can be set to scroll forward automatically asthe user reads through a text. From such a block, the user may directlyaccess other related materials by simple mouse action. This feature aidsthe reader in finding related material which is interspersed throughoutthe text, while taking advantage of the fact that the author has alreadymade a judgment regarding its relevance. The “Reverse Index” functionmay be left “on” while reading a text, thus, perpetually updatinginformation in the associated outline block regarding the existence oflinks to other material in the text through the index as the readerprogresses through the text.

Selecting “Display results” 4124 presents the user the option ofspecifying whether the results are to be shown on an outline block, orthe cursor of the document is to go to the position where the group ofcharacters is found, or both.

The “Attributes” 4125 parameter permits the user to specify how searchresults will be displayed (e.g., font, style, color, size) todifferentiate them from normal elements within the searched block.

The “Audio” parameter grouping. Selecting “Audio” 414 permits the userto select background music for his reading. The music can be retrievedfrom a list of music 4141 available to the source of the software, ormay be taken from musical files from the user's own library.

Selecting “Other sounds” 4142 permits the user to select otherbackground sounds for his reading. These sounds can include a tickingclock, a metronome, a beeping sound, or any other sound that mightfacilitate reading or enhance reading pleasure. These sounds may proceedat a rate independent of automatic advancement of text using the“Advance” 423 parameter in the “Text” toolbar 403. “Audio” 414 alsoprovides the user access to audio parameters associated with the“Cursor” 484 function under the “Text” toolbar 403, the tempo of whichmay be changed in accordance with the rate of text presentation definedunder the “Advance” 423 function in the “Text” toolbar 403.

The “Help” parameter grouping. In a preferred embodiment, selecting“Help” 418 signals the computer system to execute a help program, whichprovides explanations of the operation of the embodiment of theinvention on the computer system (100) on which it is implemented. In apreferred embodiment, the help program provides for printing, saving,editing, searching, scrolling, and book marking in a manner well knownto users and programmers of Windows™ applications.

FIG. 4 is an illustration of a display screen showing display of textfrom a textbook in a “text block” 405, with links associated with thattext being displayed in the margin of the text 4051. This block alsoillustrates the lookup of a word (elector 4052) in a different referencework (a dictionary) and display of the result in the margin of the textin a smaller size 4053. This lookup is predefined by a reference dialogbox such as that illustrated by FIG. 9. An “outline block” 413 displaysan outline of the text being read, and includes entries from theauthor's index 4133 (originally supplied with the paper version of thetext), shown in green italics, which refer to that portion of the text.This outline block may be used to change the text displayed in theassociated text block to that referred to in the outline, by use of the“Go To Text” parameter in the outline toolbar 429. In addition,selection of an index entry provides the user access to other locationsin the text also listed in the author's index by the same index entry.An “information block” 415 displays information regarding reading speedto the user. This information is continuously updated as the readerprogresses through the text. An annotation 4054 is displayed in themargin of the text block in a blue gothic font.

FIG. 10 illustrates an annotation input dialog box, which permits theuser to specify an annotation type and to type in material comprisingthe annotation. Sections of the text may be included in this annotationby selecting them with a point and click device prior to accessing thisdialog box. The user may include text or proofreader's marks in thiswritten annotation. The text box may be left empty, providing a“bookmark” to the location in the text from which the annotation wascreated, which may be accessed using a pulldown menu list of annotationsdefined on the text. The program also has the capability of saving audioannotations in a similar manner. This example shows how the annotationdisplayed in FIGS. 10, 11 and 13 was entered into the program.

FIG. 11 illustrates an “automobile keypad”, which may be used asdescribed to access some features of this invention while driving anautomobile. It consists of a keyboard containing a small number of keys(in this example 5), a means 1104 for attaching the keyboard to asteering wheel 1105 or other location accessible to the driver of a car,a means 1102 for connecting the keyboard to a laptop computer 1103, anda means for programming the keys on the automobile keypad to performseveral functions associated with a program being executed by the laptopcomputer. This aspect is particularly useful where the computer providesaudio output. Thus, it can be used to “read” a document of interestwhile driving; or to look up information (such as directions to adesired location).

FIG. 12 a is an illustration of a display screen showing a text beingdisplayed in two separate text blocks by the invention. “Links”,including footnotes in the text, are displayed as red capital letters,embedded within the text in this and the other examples.

FIG. 12 b is an illustration of a display screen showing material fromthe text shown in FIG. 9A being displayed in two separate text blocks bythe invention, after a specified time interval passes and signals thecomputer to advance the display to the next page. In a preferredembodiment, material derived from a single text can be displayedsequentially in different blocks, in a sequence chosen by the reader.This feature, which enhances the reader's sense of reading actively andthereby improves mental alertness during reading, may be selected usingthe “Advance” function, in the text and outline toolbars, as describedbelow.

FIG. 13 is an illustration of a display screen showing display of textfrom a textbook in a “text block” 1310, with links 1311 associated withthat text being displayed as red capital letters within (or embedded in)the text. This block also illustrates the lookup of a word (elector1312) in a different reference work (a dictionary) and display of theresult 1313 within the text. An “outline block” 1320 displays an outlineof the text being read, and illustrates the selection of an item 1321 onthat outline. Selection of “Chapter III” on this outline block couldrefer either to the entire “Chapter III” in the associated text block,or only to the line in this outline block, depending on the value of the“Select” parameter accessed from the outline toolbar 1322. A second“outline block” 1330 (labeled Outline 2) illustrates the concept of“reverse indexing”, in which other locations in the text which containinformation related to the text being displayed (based on their presencein the index of the text) are made accessible to the user.

FIG. 14 is an illustration of a display screen showing display of textfrom a textbook in a “text block” 1410, with highlighting of words 1411(by change of font to outlined characters) in the text which are alsofound in the sample wordlist illustrated in FIG. 3. An “outline block”1420 displays an outline of the text being read, and illustrates displayof the results of a search for the word “elector” 1450 on that outline.The search result is also displayed on the text block 1412. A secondtext block illustrates the lookup of information from the original text1410 in a second reference work, namely, the Constitution of the UnitedStates. Specifications for this lookup are given by the user via areference lookup dialog box, such as that illustrated by FIG. 9.

FIG. 15 is an illustration of a display screen showing display of textfrom a textbook in a “text block” 1510, with display of a cursor 1511designed to pace the user in reading the text at a predefined speed.This type of cursor moves through the text at a predefined rate ofspeed, aiding the reader in maintaining a desired pace. An “outlineblock” 1520 displays an outline of the text being read, and illustratesthe display of information about associated materials (in this case,tables 1521) referred to within the text. Because table 2.1 is referredto both in chapters II and IV, it appears twice in the outline. Thetable-name listing in the outline may be used either to access therelevant text (using the “Go to Text” parameter in the outline toolbar1522) which refers to the table, or to cause the table itself to bedisplayed (by double-clicking on the table name).

The steps required to program a computer system to accept suitablesignalling and image the aforementioned displays are well known to oneof ordinary skill in programming for Windows™ applications.

In the described preferred embodiment, the main parameter groups asdisplayed in FIG. 4 include “File”, “Edit”, “Display”, “Annotate”,“Search”, “Audio”, “Windows”, and “Help”.

Document reconfiguration and information extraction. As further shown inFIG. 2, after the Designate Values for Parameters step (206), thecomputer system formats the electronic text in accordance with theparameters input by the user (208) and displays it in accordance withthose parameters (210), or extracts the appropriate information from thedocument (212) and displays that information (214). After these steps,the document may again be reconfigured and new information may beextracted, or the parameter input process (202) may begin anew.

The invention thus allows the user rapidly to switch from one mode ofreading to the next by allowing the user to change the assigned valuesas desired with simple mouse action in a dialog box or other methodsassociated with the parameter input process, then, again with onlysimple mouse action, view the resulting text.

Other considerations. In a further preferred embodiment, the computersystem may be signalled to execute selected commands by pressingappropriate keys on a keyboard communicating with the computer system.For example, icons may be highlighted in turn by repeated pressing ofthe “Tab” key or the “Control” and “Tab” keys on the keyboardsimultaneously, and the computer system could be signalled to executethe function represented by the highlighted icon by pressing the “Enter”or “Return” key on the keyboard. Similarly, selected menu bar entriesand other command names displayed in text by the computer system mayinclude a letter that is highlighted or underscored. In the case of acommand, pressing the key on the keyboard for the underscored orhighlighted letter signals the computer system to execute that command.In the case of a menu bar item, pressing signals the computer system todisplay a pull-down menu with a list of entries and command namescorresponding to selected icons. Through the use of well-knowntechniques, including using keyboard arrow keys to highlight a selectedentry or command and pressing the “Enter” key, a user may also signalthe computer to execute a selected command or the display a selectedentry.

It will be apparent to those skilled in the art that the inventiondescribed herein is not limited to the specific preferred embodimentsdiscussed above. For example, although the above discussion describes aprogram using a mouse device on a Windows™ platform, those skilled inthe art will recognize that the invention could also be practiced withinput devices such as trackballs, joysticks, light pens, and the like,and could also be usefully implemented on platforms such as Macintosh,X-Windows, Motif, NextStep, OS/2, and the like. This invention also maybe practiced on stand-alone machines constructed for this purpose.Furthermore, those skilled in the art will recognize that this inventionor parts of this invention could be practiced using computer hardware,bypassing the use of software for the purpose of providing thefunctionality of the invention. It will also be apparent to thoseskilled in the art that various modifications can be made to thisinvention of a computer-implemented method for processing and displayingtext data objects without departing from the scope or spirit of theinvention, including different implementations of the “parameter inputprocess”, as defined for this invention.

It will be apparent to those skilled in the art that variousmodifications can be made to this invention of a text presentationdevice and method without departing from the scope or spirit of theinvention. It is also intended that the present invention covermodifications and variations of the text presentation device and methodwithin the scope of the appended claims and their equivalents.

1. A method for using a computer system to provide a user interface toan electronic text, comprising in sequence the steps of: a. on a displaycontrolled by the computer system, presenting a portion of an electronictext and a portion of an outline of said electronic text, wherein: i. anelement of the text comprises at least one phrase appearing in saidelectronic text, said at least one phrase comprising at least one word;ii. said outline comprises a plurality of elements, wherein elements ofthe outline comprise copies of elements of said electronic text; iii.each element of the outline represents a portion of said electronictext; iv. the combined elements of the outline comprise substantiallyless text than the entire said electronic text; v. substantially allportions of said electronic text are represented by at least one elementof the outline; vi. at least one outline element is hierarchicallysuperior to at least two other outline elements, indicating that saidhierarchically superior outline element represents text also representedby said at least two other outline elements; vii. the relativepositional and hierarchical relationships of elements of the outlinecorrespond to the relative positional and hierarchical relationships ofthe portions of said electronic text represented by said elements of theoutline; and viii. said presented portion of said outline is presentedon said display in a distinct screen region different from the screenregion in which said portion of electronic text is presented; and b.detecting a change in cursor location within said electronic text,wherein: i. said cursor location represents a location of saidelectronic text that is presented on said computer display; and ii. saidchange in cursor location is from a text location corresponding to afirst outline element presented in said distinct region of step a.viii,to a text location corresponding to a second outline element initiallynot presented in said distinct region of step a.viii; and c. displayingsaid second outline element in said distinct region of step a.viii,wherein: the relative positional and hierarchical relationships ofelements of the outline displayed on said distinct region of step a.viiimaintain correspondence to their positional and hierarchicalrelationships in said outline.
 2. The method of claim 1, furthercomprising the step of: d. eliminating display of said first outlineelement in said distinct region of step a.viii.
 3. The method of claim1, further comprising the step of: d. dynamically maintaining display insaid distinct region of step a.viii of all outline elements thatcorrespond to text represented by said cursor location.
 4. The method ofclaim 1, further comprising the step of: d. dynamically maintainingdisplay in said distinct region of step a.viii of outline elements witha shared hierarchically superior outline element, wherein said sharedhierarchically superior outline element corresponds to text representedby said cursor location.
 5. The method of claim 1, wherein informationrelated to a portion of said electronic text, said portion of electronictext corresponding to an outline element, is displayed in said distinctregion of step a.viii only when said outline element is displayed insaid distinct region of step a.viii.
 6. The method of claim 5, whereinsaid information is related to an annotation of said electronic text. 7.The method of claim 5, wherein said information comprises informationabout the speed at which electronic text corresponding to said outlineelement was read.
 8. The method of claim 5, wherein said informationcomprises an indication of whether the current cursor locationcorresponds to text corresponding to said outline element.
 9. The methodof claim 5, wherein said information comprises an indication of whethertext corresponding to said outline element has already been read. 10.The method of claim 5, wherein said information comprises informationabout additional references that are related to the content ofelectronic text corresponding to said outline element.
 11. The method ofclaim 5, wherein said information comprises the result of a search ofelectronic text corresponding to said outline element.
 12. The method ofclaim 5, wherein said information comprises the length of the portion ofelectronic text corresponding to said outline element.
 13. The method ofclaim 5, wherein said information comprises a portion of said electronictext corresponding to said outline element, wherein said portion ofelectronic text is not identical to said outline element.
 14. The methodof claim 1, wherein said outline refers to several distinct electronictexts.
 15. The method of claim 1, wherein said electronic text isreformatted for presentation on said computer display.
 16. The method ofclaim 1, wherein the elements of text that comprise said outlinecorrespond to the structure of said electronic text.
 17. The method ofclaim 1, wherein said outline is computer-generated using saidelectronic text as input.
 18. The method of claim 1, wherein at leastone outline element contains a hyperlink.
 19. A computer memory storagedevice encoded with a computer program for using a computer system todisplay electronic text, comprising: a. means for, on a displaycontrolled by the computer system, presenting a portion of an electronictext and a portion of an outline of said electronic text, wherein: i. anelement of the text comprises at least one phrase appearing in saidelectronic text, said at least one phrase comprising at least one word;ii. said outline comprises a plurality of elements, wherein elements ofthe outline comprise copies of elements of said electronic text; iii.each element of the outline represents a portion of said electronictext; iv. the combined elements of the outline comprise substantiallyless text than the entire said electronic text; v. substantially allportions of said electronic text are represented by at least one elementof the outline; vi. at least one outline element is hierarchicallysuperior to at least two other outline elements, indicating that saidhierarchically superior outline element represents text also representedby said at least two other outline elements; vii. the relativepositional and hierarchical relationships of elements of the outlinecorrespond to the relative positional and hierarchical relationships ofthe portions of said electronic text represented by said elements of theoutline; and viii. said presented portion of said outline is presentedon said display in a distinct screen region different from the screenregion in which said portion of electronic text is presented; and b.means for detecting a change in cursor location within said electronictext, wherein: i. said cursor location represents a location of saidelectronic text that is presented on said computer display; and ii. saidchange in cursor location is from a text location corresponding to afirst outline element presented in said distinct region of step a.viii,to a text location corresponding to a second outline element initiallynot presented in said distinct region of step a.viii; and c. means fordisplaying said second outline element in said distinct region of stepa.viii, wherein: the relative positional and hierarchical relationshipsof elements of the outline displayed on said distinct region of stepa.viii maintain correspondence to their positional and hierarchicalrelationships in said outline.
 20. A computer system for displayingelectronic text, comprising: a. a display device controlled by thecomputer, said display device imaging a portion of electronic textcontrolled by the computer system; b. means for, on said displaycontrolled by the computer system, presenting a portion of an electronictext and a portion of an outline of said electronic text, wherein: i. anelement of the text comprises at least one phrase appearing in saidelectronic text, said at least one phrase comprising at least one word;ii. said outline comprises a plurality of elements, wherein elements ofthe outline comprise copies of elements of said electronic text; iii.each element of the outline represents a portion of said electronictext; iv. the combined elements of the outline comprise substantiallyless text than the entire said electronic text; v. substantially allportions of said electronic text are represented by at least one elementof the outline; vi. at least one outline element is hierarchicallysuperior to at least two other outline elements, indicating that saidhierarchically superior outline element represents text also representedby said at least two other outline elements; vii. the relativepositional and hierarchical relationships of elements of the outlinecorrespond to the relative positional and hierarchical relationships ofthe portions of said electronic text represented by said elements of theoutline; and viii. said presented portion of said outline is presentedon said display in a distinct screen region different from the screenregion in which said portion of electronic text is presented; and c.means for detecting a change in cursor location within said electronictext, wherein: i. said cursor location represents a location of saidelectronic text that is presented on said computer display; and ii. saidchange in cursor location is from a text location corresponding to afirst outline element presented in said distinct region of step a.viii,to a text location corresponding to a second outline element initiallynot presented in said distinct region of step a.vii; and d. means fordisplaying said second outline element in said distinct region of stepb.viii, wherein: the relative positional and hierarchical relationshipsof elements of the outline displayed on said distinct region of stepb.viii maintain correspondence to their positional and hierarchicalrelationships in said outline.